--- title: Title keywords: fastai sidebar: home_sidebar summary: "summary" ---

使用pandas进行数据分析

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.font_manager import *  
#from cutecharts.globals import use_jupyter_lab; use_jupyter_lab()
#from cutecharts.charts import Line,Pie,Radar
#from cutecharts.faker import Faker
prov = pd.read_csv("./data/prov_20200208.csv")
#prov
#prov['省份'].values.tolist()

各省的病例情况图

#中文乱码问题,https://www.linuxidc.com/Linux/2019-03/157632.htm

def draw(dfx):
    myfont = FontProperties(fname='/usr/share/fonts/truetype/arphic/ukai.ttc')  
    fig=plt.figure(figsize=(48,12), dpi=250)
    p1=fig.add_subplot(1,1,1)
    p1.set_xticklabels(dfx['省份'], rotation=30, fontsize='small',fontproperties=myfont)

    #显示数据。
    p1.plot(dfx['省份'],dfx['确诊'],color='red',linewidth=3,label='确诊')
    p1.plot(dfx['省份'],dfx['治愈'],color='green',linewidth=3,label='治愈')
    p1.bar(dfx['省份'],dfx['死亡'],color='black',label='死亡')

    plt.title(u'各省病例数量-2020/02/08',fontproperties=myfont) 
    plt.legend(loc=0,ncol=1,prop=myfont)
    plt.grid(True)
    plt.gcf().autofmt_xdate()
    plt.show()
# 绘制各省的病例情况图。    
draw(prov)

分省区的地市病例情况图

city = pd.read_csv("./data/city_20200208.csv")
#city
# 绘制指定省份的地市病例情况图。
def drawc(province):
    dfx = city[city['省份']==province]
    #print(dfx)
    
    #查询Linux系统的可用字体:fc-list :lang=zh
    myfont = FontProperties(fname='/usr/share/fonts/truetype/arphic/ukai.ttc')  
    fig = plt.figure(figsize=(48,6), dpi=250)
    p1 = fig.add_subplot(1,1,1)
    p1.set_xticklabels(dfx['城市'], rotation=30, fontsize='small',fontproperties=myfont)

    #显示数据。
    p1.plot(dfx['城市'],dfx['确诊'],color='red',linewidth=3,label='确诊')
    p1.plot(dfx['城市'],dfx['治愈'],color='green',linewidth=3,label='治愈')
    p1.bar(dfx['城市'],dfx['死亡'],color='black',label='死亡')

    plt.title(province + u'各地市病例数量-2020/02/08',fontproperties=myfont) 
    plt.legend(loc=0,ncol=1,prop=myfont)
    plt.grid(True)
    plt.gcf().autofmt_xdate()
    plt.show()
    return dfx
# 绘制所有省的所有地市统计图。
ind = 1
for each in prov['省份']:
    print(ind, each)
    ind = ind + 1
    try:
        result = drawc(each)
    except:
        print("ERROR!")
1 湖北省
2 广东省
3 浙江省
4 河南省
5 湖南省
6 安徽省
7 江西省
8 江苏省
9 重庆市
10 山东省
11 四川省
12 北京市
13 黑龙江省
14 上海市
15 福建省
16 河北省
17 陕西省
18 广西壮族自治区
19 云南省
20 海南省
21 山西省
22 辽宁省
23 贵州省
24 天津市
25 甘肃省
26 吉林省
27 内蒙古自治区
28 宁夏回族自治区
29 新疆维吾尔自治区
30 香港
ERROR!
31 青海省
32 台湾
ERROR!
33 澳门
ERROR!
34 西藏自治区
#result = drawc('湖北省')